1. Technical Field
This invention relates to computing systems, and more particularly, to efficiently reducing power consumption through throttling of selected problematic instructions.
2. Description of the Related Art
Geometric dimensions of devices and metal routes on each generation of semiconductor processor cores are decreasing. Therefore, more functionality is provided with a given area of on-die real estate. As a result, mobile devices, such as laptop computers, tablet computers, smart phones, video cameras, and the like, have increasing popularity. Typically, these mobile devices receive electrical power from a battery including one or more electrochemical cells. Since batteries have a limited capacity, they are periodically connected to an external source of energy to be recharged. A vital issue for these mobile devices is power consumption. As power consumption increases, battery life for these devices is reduced and the frequency of recharging increases.
As the density of devices increases on an integrated circuit with multiple pipelines, larger cache memories, and more complex logic, the amount of capacitance that may be charged or discharged in a given clock cycle significantly increases, resulting in higher power consumption. Additionally, a software application may execute particular computer program code that may cause the hardware to reach a high power dissipation value. Such program code could do this either unintentionally or intentionally (e.g., a power virus). The power dissipation may climb due to multiple occurrences of given instruction types within the program code, and the power dissipation may reach or exceed the thermal design power (TDP) or, in some cases, the maximum power dissipation, of an integrated circuit.
In addition to the above, a mobile device's cooling system may be design for a given TDP, or a thermal design point. The cooling system may be able to dissipate a TDP value without exceeding a maximum junction temperature for an integrated circuit. However, multiple occurrences of given instruction types may cause the power dissipation to exceed the TDP for the integrated circuit. Further, there are current limits for the power supply that may be exceeded as well. If power modes do not change the operating mode of the integrated circuit or turn off particular functional blocks within the integrated circuit, the battery may be quickly discharged. In addition, physical damage may occur. One approach to managing peak power dissipation may be to simply limit instruction issue to a pre-determined threshold value, which may result in unacceptable computing performance.
In view of the above, efficient methods and mechanisms for reducing power consumption through issue throttling of selected instructions are desired.